﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DADOS.auxiliares;

namespace PROAD.admin.Relatorio
{
    public partial class RelatorioEquipedeSaude : System.Web.UI.Page
    {
        DADOS.auxiliares.metEndereco metAux = new DADOS.auxiliares.metEndereco();
        DADOS.unidade.metUnidade metUni = new DADOS.unidade.metUnidade();
        DADOS.esf.metEsf metEsf = new DADOS.esf.metEsf();
        DADOS.auxiliares.metRelatorio metRel = new metRelatorio();

        private int paginaAtual = 0;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                CarregarDdl();
            }
        }

        private void CarregarDdl()
        {
            ddlUf.DataSource = metAux.ListaUF();
            ddlUf.DataBind();
            ddlUf.Items.Insert(0, new ListItem("Selecione uma UF", "0"));

            ddlAtencao.DataSource = metRel.ListarAtencao();
            ddlAtencao.DataBind();
            ddlAtencao.Items.Insert(0, new ListItem("Selecione um Nível de Atenção SUS", "0"));


        }

        protected void ddlUf_SelectedIndexChanged(object sender, EventArgs e)
        {
            ddlUs.DataSource = metUni.Lista("", Convert.ToInt32(ddlUf.SelectedValue), 0);
            ddlUs.DataBind();
            ddlUs.Items.Insert(0, new ListItem("Selecione uma Equipe de Saúde", ""));
        }

        protected void CarregarGrid()
        {
            var objUs = metEsf.ListarESRelatorio(ddlUs.SelectedValue, ddlUf.SelectedValue,Convert.ToInt32(ddlAtencao.SelectedValue));
            gdrListaUS.DataSource = objUs;
            gdrListaUS.DataBind();

            gdrListaUS.AllowPaging = true;
            gdrListaUS.PageSize = 15;
            gdrListaUS.PageIndex = paginaAtual;

            pnlPesquisa.Visible = false;
            pnlGrid.Visible = true;
            lblTotalUnidade.Text = "Total de Unidade(s): " + objUs.Tables[0].Rows.Count;
        }

        protected void gdrListaUS_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            paginaAtual = e.NewPageIndex;
            CarregarGrid();
        }

        protected void btnPesquisar_Click(object sender, EventArgs e)
        {
            CarregarGrid();
        }

        protected void btnNovaPesquisa_Click(object sender, EventArgs e)
        {
            pnlPesquisa.Visible = true;
            pnlGrid.Visible = false;
        }

    }
}